// Yylex
//
// Copyright 2004, 2005 Christoph Csallner and Yannis Smaragdakis.
//
// 2005-06-14 Christoph Csallner
// Check how ESC creates identifiers:
//   escjava.translate.UniqName
//   escjava.translate.GC
//   escjava.translate.Translate
//   escjava.translate.TrAnExpr
//   escjava.backpred.Backpred
//   escjava.tc.Types
//   escjava.AnnotationHandler
// Add support for:
//   T_.TYPE, C_
// Switch to ESC 2.0a8 from 2.0a7:
//   _array, |equals##state#java.lang.Object|, |o:54.65.41%2|
// 2004-03-01 Christoph Csallner
// Started, this file is input for JLex:
//   http://www.cs.princeton.edu/~appel/modern/java/JLex/.
package edu.gatech.cc.cnc;
import java_cup.runtime.Symbol;


public class Yylex implements java_cup.runtime.Scanner {
	private final int YY_BUFFER_SIZE = 512;
	private final int YY_F = -1;
	private final int YY_NO_STATE = -1;
	private final int YY_NOT_ACCEPT = 0;
	private final int YY_START = 1;
	private final int YY_END = 2;
	private final int YY_NO_ANCHOR = 4;
	private final int YY_BOL = 128;
	private final int YY_EOF = 129;
	private java.io.BufferedReader yy_reader;
	private int yy_buffer_index;
	private int yy_buffer_read;
	private int yy_buffer_start;
	private int yy_buffer_end;
	private char yy_buffer[];
	private boolean yy_at_bol;
	private int yy_lexical_state;

	public Yylex (java.io.Reader reader) {
		this ();
		if (null == reader) {
			throw (new Error("Error: Bad input stream initializer."));
		}
		yy_reader = new java.io.BufferedReader(reader);
	}

	public Yylex (java.io.InputStream instream) {
		this ();
		if (null == instream) {
			throw (new Error("Error: Bad input stream initializer."));
		}
		yy_reader = new java.io.BufferedReader(new java.io.InputStreamReader(instream));
	}

	private Yylex () {
		yy_buffer = new char[YY_BUFFER_SIZE];
		yy_buffer_read = 0;
		yy_buffer_index = 0;
		yy_buffer_start = 0;
		yy_buffer_end = 0;
		yy_at_bol = true;
		yy_lexical_state = YYINITIAL;

	/* Regular expressions in JLex should not contain any whitespace,
	 * as JLex interprets whitespace as end-of-regexp. */
	}

	private boolean yy_eof_done = false;
	private final int YYINITIAL = 0;
	private final int yy_state_dtrans[] = {
		0
	};
	private void yybegin (int state) {
		yy_lexical_state = state;
	}
	private int yy_advance ()
		throws java.io.IOException {
		int next_read;
		int i;
		int j;

		if (yy_buffer_index < yy_buffer_read) {
			return yy_buffer[yy_buffer_index++];
		}

		if (0 != yy_buffer_start) {
			i = yy_buffer_start;
			j = 0;
			while (i < yy_buffer_read) {
				yy_buffer[j] = yy_buffer[i];
				++i;
				++j;
			}
			yy_buffer_end = yy_buffer_end - yy_buffer_start;
			yy_buffer_start = 0;
			yy_buffer_read = j;
			yy_buffer_index = j;
			next_read = yy_reader.read(yy_buffer,
					yy_buffer_read,
					yy_buffer.length - yy_buffer_read);
			if (-1 == next_read) {
				return YY_EOF;
			}
			yy_buffer_read = yy_buffer_read + next_read;
		}

		while (yy_buffer_index >= yy_buffer_read) {
			if (yy_buffer_index >= yy_buffer.length) {
				yy_buffer = yy_double(yy_buffer);
			}
			next_read = yy_reader.read(yy_buffer,
					yy_buffer_read,
					yy_buffer.length - yy_buffer_read);
			if (-1 == next_read) {
				return YY_EOF;
			}
			yy_buffer_read = yy_buffer_read + next_read;
		}
		return yy_buffer[yy_buffer_index++];
	}
	private void yy_move_end () {
		if (yy_buffer_end > yy_buffer_start &&
		    '\n' == yy_buffer[yy_buffer_end-1])
			yy_buffer_end--;
		if (yy_buffer_end > yy_buffer_start &&
		    '\r' == yy_buffer[yy_buffer_end-1])
			yy_buffer_end--;
	}
	private boolean yy_last_was_cr=false;
	private void yy_mark_start () {
		yy_buffer_start = yy_buffer_index;
	}
	private void yy_mark_end () {
		yy_buffer_end = yy_buffer_index;
	}
	private void yy_to_mark () {
		yy_buffer_index = yy_buffer_end;
		yy_at_bol = (yy_buffer_end > yy_buffer_start) &&
		            ('\r' == yy_buffer[yy_buffer_end-1] ||
		             '\n' == yy_buffer[yy_buffer_end-1] ||
		             2028/*LS*/ == yy_buffer[yy_buffer_end-1] ||
		             2029/*PS*/ == yy_buffer[yy_buffer_end-1]);
	}
	private java.lang.String yytext () {
		return (new java.lang.String(yy_buffer,
			yy_buffer_start,
			yy_buffer_end - yy_buffer_start));
	}
	private int yylength () {
		return yy_buffer_end - yy_buffer_start;
	}
	private char[] yy_double (char buf[]) {
		int i;
		char newbuf[];
		newbuf = new char[2*buf.length];
		for (i = 0; i < buf.length; ++i) {
			newbuf[i] = buf[i];
		}
		return newbuf;
	}
	private final int YY_E_INTERNAL = 0;
	private final int YY_E_MATCH = 1;
	private java.lang.String yy_error_string[] = {
		"Error: Internal error.\n",
		"Error: Unmatched input.\n"
	};
	private void yy_error (int code,boolean fatal) {
		java.lang.System.out.print(yy_error_string[code]);
		java.lang.System.out.flush();
		if (fatal) {
			throw new Error("Fatal Error.\n");
		}
	}
	private int[][] unpackFromString(int size1, int size2, String st) {
		int colonIndex = -1;
		String lengthString;
		int sequenceLength = 0;
		int sequenceInteger = 0;

		int commaIndex;
		String workString;

		int res[][] = new int[size1][size2];
		for (int i= 0; i < size1; i++) {
			for (int j= 0; j < size2; j++) {
				if (sequenceLength != 0) {
					res[i][j] = sequenceInteger;
					sequenceLength--;
					continue;
				}
				commaIndex = st.indexOf(',');
				workString = (commaIndex==-1) ? st :
					st.substring(0, commaIndex);
				st = st.substring(commaIndex+1);
				colonIndex = workString.indexOf(':');
				if (colonIndex == -1) {
					res[i][j]=Integer.parseInt(workString);
					continue;
				}
				lengthString =
					workString.substring(colonIndex+1);
				sequenceLength=Integer.parseInt(lengthString);
				workString=workString.substring(0,colonIndex);
				sequenceInteger=Integer.parseInt(workString);
				res[i][j] = sequenceInteger;
				sequenceLength--;
			}
		}
		return res;
	}
	private int yy_acpt[] = {
		/* 0 */ YY_NOT_ACCEPT,
		/* 1 */ YY_NO_ANCHOR,
		/* 2 */ YY_NO_ANCHOR,
		/* 3 */ YY_NO_ANCHOR,
		/* 4 */ YY_NO_ANCHOR,
		/* 5 */ YY_NO_ANCHOR,
		/* 6 */ YY_NO_ANCHOR,
		/* 7 */ YY_NO_ANCHOR,
		/* 8 */ YY_NO_ANCHOR,
		/* 9 */ YY_NO_ANCHOR,
		/* 10 */ YY_NO_ANCHOR,
		/* 11 */ YY_NO_ANCHOR,
		/* 12 */ YY_NO_ANCHOR,
		/* 13 */ YY_NO_ANCHOR,
		/* 14 */ YY_NO_ANCHOR,
		/* 15 */ YY_NO_ANCHOR,
		/* 16 */ YY_NO_ANCHOR,
		/* 17 */ YY_NO_ANCHOR,
		/* 18 */ YY_NO_ANCHOR,
		/* 19 */ YY_NO_ANCHOR,
		/* 20 */ YY_NO_ANCHOR,
		/* 21 */ YY_NO_ANCHOR,
		/* 22 */ YY_NO_ANCHOR,
		/* 23 */ YY_NO_ANCHOR,
		/* 24 */ YY_NO_ANCHOR,
		/* 25 */ YY_NO_ANCHOR,
		/* 26 */ YY_NO_ANCHOR,
		/* 27 */ YY_NO_ANCHOR,
		/* 28 */ YY_NO_ANCHOR,
		/* 29 */ YY_NO_ANCHOR,
		/* 30 */ YY_NO_ANCHOR,
		/* 31 */ YY_NO_ANCHOR,
		/* 32 */ YY_NO_ANCHOR,
		/* 33 */ YY_NO_ANCHOR,
		/* 34 */ YY_NO_ANCHOR,
		/* 35 */ YY_NO_ANCHOR,
		/* 36 */ YY_NO_ANCHOR,
		/* 37 */ YY_NO_ANCHOR,
		/* 38 */ YY_NO_ANCHOR,
		/* 39 */ YY_NO_ANCHOR,
		/* 40 */ YY_NO_ANCHOR,
		/* 41 */ YY_NO_ANCHOR,
		/* 42 */ YY_NO_ANCHOR,
		/* 43 */ YY_NO_ANCHOR,
		/* 44 */ YY_NO_ANCHOR,
		/* 45 */ YY_NO_ANCHOR,
		/* 46 */ YY_NO_ANCHOR,
		/* 47 */ YY_NOT_ACCEPT,
		/* 48 */ YY_NO_ANCHOR,
		/* 49 */ YY_NO_ANCHOR,
		/* 50 */ YY_NO_ANCHOR,
		/* 51 */ YY_NO_ANCHOR,
		/* 52 */ YY_NOT_ACCEPT,
		/* 53 */ YY_NO_ANCHOR,
		/* 54 */ YY_NO_ANCHOR,
		/* 55 */ YY_NOT_ACCEPT,
		/* 56 */ YY_NO_ANCHOR,
		/* 57 */ YY_NOT_ACCEPT,
		/* 58 */ YY_NO_ANCHOR,
		/* 59 */ YY_NOT_ACCEPT,
		/* 60 */ YY_NO_ANCHOR,
		/* 61 */ YY_NOT_ACCEPT,
		/* 62 */ YY_NO_ANCHOR,
		/* 63 */ YY_NOT_ACCEPT,
		/* 64 */ YY_NO_ANCHOR,
		/* 65 */ YY_NOT_ACCEPT,
		/* 66 */ YY_NO_ANCHOR,
		/* 67 */ YY_NOT_ACCEPT,
		/* 68 */ YY_NO_ANCHOR,
		/* 69 */ YY_NOT_ACCEPT,
		/* 70 */ YY_NO_ANCHOR,
		/* 71 */ YY_NOT_ACCEPT,
		/* 72 */ YY_NO_ANCHOR,
		/* 73 */ YY_NOT_ACCEPT,
		/* 74 */ YY_NO_ANCHOR,
		/* 75 */ YY_NOT_ACCEPT,
		/* 76 */ YY_NO_ANCHOR,
		/* 77 */ YY_NOT_ACCEPT,
		/* 78 */ YY_NO_ANCHOR,
		/* 79 */ YY_NOT_ACCEPT,
		/* 80 */ YY_NO_ANCHOR,
		/* 81 */ YY_NOT_ACCEPT,
		/* 82 */ YY_NO_ANCHOR,
		/* 83 */ YY_NOT_ACCEPT,
		/* 84 */ YY_NO_ANCHOR,
		/* 85 */ YY_NOT_ACCEPT,
		/* 86 */ YY_NO_ANCHOR,
		/* 87 */ YY_NOT_ACCEPT,
		/* 88 */ YY_NO_ANCHOR,
		/* 89 */ YY_NOT_ACCEPT,
		/* 90 */ YY_NOT_ACCEPT,
		/* 91 */ YY_NOT_ACCEPT,
		/* 92 */ YY_NOT_ACCEPT,
		/* 93 */ YY_NOT_ACCEPT,
		/* 94 */ YY_NOT_ACCEPT,
		/* 95 */ YY_NOT_ACCEPT,
		/* 96 */ YY_NOT_ACCEPT,
		/* 97 */ YY_NOT_ACCEPT,
		/* 98 */ YY_NOT_ACCEPT,
		/* 99 */ YY_NOT_ACCEPT,
		/* 100 */ YY_NOT_ACCEPT,
		/* 101 */ YY_NOT_ACCEPT,
		/* 102 */ YY_NOT_ACCEPT,
		/* 103 */ YY_NOT_ACCEPT,
		/* 104 */ YY_NOT_ACCEPT,
		/* 105 */ YY_NOT_ACCEPT,
		/* 106 */ YY_NOT_ACCEPT,
		/* 107 */ YY_NOT_ACCEPT,
		/* 108 */ YY_NOT_ACCEPT,
		/* 109 */ YY_NOT_ACCEPT,
		/* 110 */ YY_NOT_ACCEPT,
		/* 111 */ YY_NOT_ACCEPT,
		/* 112 */ YY_NOT_ACCEPT,
		/* 113 */ YY_NOT_ACCEPT,
		/* 114 */ YY_NOT_ACCEPT,
		/* 115 */ YY_NOT_ACCEPT,
		/* 116 */ YY_NOT_ACCEPT,
		/* 117 */ YY_NOT_ACCEPT,
		/* 118 */ YY_NOT_ACCEPT,
		/* 119 */ YY_NOT_ACCEPT,
		/* 120 */ YY_NOT_ACCEPT,
		/* 121 */ YY_NO_ANCHOR,
		/* 122 */ YY_NOT_ACCEPT,
		/* 123 */ YY_NOT_ACCEPT,
		/* 124 */ YY_NOT_ACCEPT,
		/* 125 */ YY_NOT_ACCEPT,
		/* 126 */ YY_NOT_ACCEPT,
		/* 127 */ YY_NOT_ACCEPT,
		/* 128 */ YY_NOT_ACCEPT,
		/* 129 */ YY_NOT_ACCEPT,
		/* 130 */ YY_NO_ANCHOR,
		/* 131 */ YY_NOT_ACCEPT,
		/* 132 */ YY_NOT_ACCEPT,
		/* 133 */ YY_NO_ANCHOR,
		/* 134 */ YY_NOT_ACCEPT,
		/* 135 */ YY_NOT_ACCEPT,
		/* 136 */ YY_NO_ANCHOR,
		/* 137 */ YY_NOT_ACCEPT,
		/* 138 */ YY_NOT_ACCEPT,
		/* 139 */ YY_NO_ANCHOR,
		/* 140 */ YY_NOT_ACCEPT,
		/* 141 */ YY_NO_ANCHOR,
		/* 142 */ YY_NOT_ACCEPT,
		/* 143 */ YY_NO_ANCHOR,
		/* 144 */ YY_NOT_ACCEPT,
		/* 145 */ YY_NO_ANCHOR,
		/* 146 */ YY_NOT_ACCEPT,
		/* 147 */ YY_NO_ANCHOR,
		/* 148 */ YY_NOT_ACCEPT,
		/* 149 */ YY_NO_ANCHOR,
		/* 150 */ YY_NOT_ACCEPT,
		/* 151 */ YY_NO_ANCHOR,
		/* 152 */ YY_NOT_ACCEPT,
		/* 153 */ YY_NO_ANCHOR,
		/* 154 */ YY_NOT_ACCEPT,
		/* 155 */ YY_NO_ANCHOR,
		/* 156 */ YY_NOT_ACCEPT,
		/* 157 */ YY_NO_ANCHOR,
		/* 158 */ YY_NOT_ACCEPT,
		/* 159 */ YY_NO_ANCHOR,
		/* 160 */ YY_NOT_ACCEPT,
		/* 161 */ YY_NOT_ACCEPT,
		/* 162 */ YY_NOT_ACCEPT,
		/* 163 */ YY_NOT_ACCEPT,
		/* 164 */ YY_NOT_ACCEPT,
		/* 165 */ YY_NO_ANCHOR,
		/* 166 */ YY_NOT_ACCEPT,
		/* 167 */ YY_NOT_ACCEPT,
		/* 168 */ YY_NOT_ACCEPT,
		/* 169 */ YY_NO_ANCHOR,
		/* 170 */ YY_NOT_ACCEPT,
		/* 171 */ YY_NO_ANCHOR,
		/* 172 */ YY_NOT_ACCEPT,
		/* 173 */ YY_NO_ANCHOR,
		/* 174 */ YY_NOT_ACCEPT,
		/* 175 */ YY_NO_ANCHOR,
		/* 176 */ YY_NOT_ACCEPT,
		/* 177 */ YY_NO_ANCHOR,
		/* 178 */ YY_NOT_ACCEPT,
		/* 179 */ YY_NO_ANCHOR,
		/* 180 */ YY_NOT_ACCEPT,
		/* 181 */ YY_NO_ANCHOR,
		/* 182 */ YY_NOT_ACCEPT,
		/* 183 */ YY_NO_ANCHOR,
		/* 184 */ YY_NO_ANCHOR,
		/* 185 */ YY_NO_ANCHOR,
		/* 186 */ YY_NO_ANCHOR,
		/* 187 */ YY_NOT_ACCEPT,
		/* 188 */ YY_NO_ANCHOR,
		/* 189 */ YY_NOT_ACCEPT,
		/* 190 */ YY_NO_ANCHOR,
		/* 191 */ YY_NOT_ACCEPT,
		/* 192 */ YY_NO_ANCHOR,
		/* 193 */ YY_NOT_ACCEPT,
		/* 194 */ YY_NO_ANCHOR,
		/* 195 */ YY_NOT_ACCEPT,
		/* 196 */ YY_NO_ANCHOR,
		/* 197 */ YY_NOT_ACCEPT,
		/* 198 */ YY_NO_ANCHOR,
		/* 199 */ YY_NOT_ACCEPT,
		/* 200 */ YY_NO_ANCHOR,
		/* 201 */ YY_NOT_ACCEPT,
		/* 202 */ YY_NO_ANCHOR,
		/* 203 */ YY_NOT_ACCEPT,
		/* 204 */ YY_NO_ANCHOR,
		/* 205 */ YY_NOT_ACCEPT,
		/* 206 */ YY_NO_ANCHOR,
		/* 207 */ YY_NOT_ACCEPT,
		/* 208 */ YY_NO_ANCHOR,
		/* 209 */ YY_NOT_ACCEPT,
		/* 210 */ YY_NO_ANCHOR,
		/* 211 */ YY_NOT_ACCEPT,
		/* 212 */ YY_NO_ANCHOR,
		/* 213 */ YY_NOT_ACCEPT,
		/* 214 */ YY_NOT_ACCEPT,
		/* 215 */ YY_NOT_ACCEPT,
		/* 216 */ YY_NOT_ACCEPT,
		/* 217 */ YY_NO_ANCHOR,
		/* 218 */ YY_NOT_ACCEPT,
		/* 219 */ YY_NO_ANCHOR,
		/* 220 */ YY_NOT_ACCEPT,
		/* 221 */ YY_NO_ANCHOR,
		/* 222 */ YY_NOT_ACCEPT,
		/* 223 */ YY_NOT_ACCEPT,
		/* 224 */ YY_NO_ANCHOR,
		/* 225 */ YY_NOT_ACCEPT,
		/* 226 */ YY_NO_ANCHOR,
		/* 227 */ YY_NOT_ACCEPT,
		/* 228 */ YY_NOT_ACCEPT,
		/* 229 */ YY_NOT_ACCEPT,
		/* 230 */ YY_NO_ANCHOR,
		/* 231 */ YY_NOT_ACCEPT,
		/* 232 */ YY_NOT_ACCEPT,
		/* 233 */ YY_NOT_ACCEPT,
		/* 234 */ YY_NO_ANCHOR,
		/* 235 */ YY_NOT_ACCEPT,
		/* 236 */ YY_NOT_ACCEPT,
		/* 237 */ YY_NOT_ACCEPT,
		/* 238 */ YY_NO_ANCHOR,
		/* 239 */ YY_NOT_ACCEPT,
		/* 240 */ YY_NOT_ACCEPT,
		/* 241 */ YY_NOT_ACCEPT,
		/* 242 */ YY_NOT_ACCEPT,
		/* 243 */ YY_NOT_ACCEPT,
		/* 244 */ YY_NOT_ACCEPT,
		/* 245 */ YY_NOT_ACCEPT,
		/* 246 */ YY_NOT_ACCEPT,
		/* 247 */ YY_NOT_ACCEPT,
		/* 248 */ YY_NOT_ACCEPT,
		/* 249 */ YY_NOT_ACCEPT,
		/* 250 */ YY_NOT_ACCEPT,
		/* 251 */ YY_NOT_ACCEPT,
		/* 252 */ YY_NOT_ACCEPT,
		/* 253 */ YY_NOT_ACCEPT,
		/* 254 */ YY_NOT_ACCEPT
	};
	private int yy_cmap[] = unpackFromString(1,130,
"61:9,1:2,61,1:2,61:18,1,58,61,46,31,54,61:2,2,3,15,14,61,13,49,16,50:10,10," +
"61,6,5,4,61,26,52,39,45,52,7,34,52:2,36,52:2,40,52,9,38,52,8,18,51,17,19,52" +
":5,59,61,60,61,35,61,33,29,41,57,28,32,44,24,11,47,55,22,42,20,30,43,53,27," +
"12,23,21,48,56,53,37,53,61,25,61:3,0:2")[0];

	private int yy_rmap[] = unpackFromString(1,255,
"0,1,2,1:2,3,1,4,5,6,1:3,7,1:3,8:2,6,9,8:2,1,8:2,10,8,11,8:5,1:5,8:3,1,8,1:3" +
",12,13,8,14,1,15,16,1,17,18,19,20,21,22,23,24,25,26,27,10,28,29,30,11,31,32" +
",33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57" +
",58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82" +
",83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105" +
",106,107,108,109,70,110,111,112,113,114,115,116,117,118,119,120,121,122,123" +
",124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,14" +
"2,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1" +
"61,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179," +
"180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198" +
",199,200,201,202,203,204,205,206,207,208,209,210,211,212,213")[0];

	private int yy_nxt[][] = unpackFromString(214,62,
"1,2,3,4,5,6,7,8,49,121,6,53,204,9,10,11,12,56,49:2,165,49:2,169,49,48,6,49," +
"188,49:4,238,190,206,49:3,217,49:3,171,49:2,6,49:2,6,13,49:3,6,49:3,6:4,-1:" +
"63,2,-1:65,14,-1:61,15,-1:4,16,-1:58,49,17,49,-1,49:2,-1:4,49:8,-1:2,49:19," +
"-1,49:2,-1,49:4,-1,49:3,-1:54,19,-1:61,13,-1:18,49:3,-1,49:2,-1:4,49:8,-1:2" +
",49:19,-1,49:2,-1,49:4,-1,49:3,-1:11,50:3,-1,50:2,-1:4,50:8,-1:2,50:19,-1,5" +
"0:2,55,49,50:3,-1,50:3,-1:11,49:3,-1,49:2,-1:4,49:8,-1:2,49:19,-1,49:2,-1,2" +
"6,49:3,-1,49:3,-1:11,49:3,-1,49:2,-1:4,49:8,-1:2,49:19,-1,49:2,-1,28,49:3,-" +
"1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:27,61,47:3,57,65,-1:9,47:3,-1," +
"47:2,-1:4,120,47:7,-1,52,47,203,237,47:4,129,47:5,205,47:3,233,207,-1,254,4" +
"7,-1:2,209,47:2,-1,47:3,-1:11,50:3,-1,50:2,-1:4,50:8,-1:2,50:19,-1,50:2,55," +
"50:4,-1,50:3,-1:27,69,-1:45,49:3,-1,49,18,-1:4,49:8,-1:2,49:19,-1,49:2,-1,4" +
"9:4,-1,49:3,-1:11,50:3,-1,50:2,-1:4,50:8,-1:2,50:19,-1,50:2,-1:2,50:3,-1,50" +
":3,-1:11,49:3,-1,49:2,-1:4,49,130,49:6,-1:2,49:8,20,49:10,-1,49:2,-1,49:4,-" +
"1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:23,-1,47:3,61,47:3,57,65,-1:9," +
"49,21,49,-1,49:2,-1:4,49:8,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1:54,73,-1:1" +
"8,49:3,-1,49:2,-1:4,22,49:7,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1:54,47,-1:" +
"18,24,49:2,-1,49:2,-1:4,49:8,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1:26,75,-1" +
":20,122,-1:6,47,-1:18,49:3,-1,49:2,-1:4,49:5,25,49:2,-1:2,49:19,-1,49:2,-1," +
"49:4,-1,49:3,-1:64,57,-1:6,57,59,77:3,47,77:2,61,-1:3,77:8,54,63,77:19,47,7" +
"7:2,132,47,77:3,61,77:3,57,65,-1:9,49:3,-1,49,27,-1:4,49:8,-1:2,49:19,-1,49" +
":2,-1,49:4,-1,49:3,-1:31,79,-1:39,57,59,47:6,81,-1:3,47:8,23,63,47:23,168,4" +
"7:3,61,47:3,57,65,-1:9,49:3,-1,49,29,-1:4,49:6,184,49,-1:2,49:19,-1,49:2,-1" +
",49:4,-1,49:3,-1:8,57,-1:45,73,-1:18,49:2,30,-1,49:2,-1:4,49:8,-1:2,49:19,-" +
"1,49:2,-1,49:4,-1,49:3,-1:34,123,-1:38,49:3,-1,49:2,-1:4,49:6,31,49,-1:2,49" +
":19,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,77:3,47,77:2,61,-1:3,77:8,54,63,77:1" +
"9,47,77:2,132,77:4,61,77:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:5,32,4" +
"9:13,-1,49:2,-1,49:4,-1,49:3,-1:25,85,-1:47,49:3,-1,49:2,-1:4,49:8,-1:2,49:" +
"10,33,49:8,-1,49:2,-1,49:4,-1,49:3,-1:40,87,-1:13,47,-1:18,49:3,-1,49:2,-1:" +
"4,39,49:7,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1:32,57,-1:40,49:3,-1,49:2,-1" +
":4,49:8,-1:2,49,40,49:17,-1,49:2,-1,49:4,-1,49:3,-1:32,90,-1:40,49:3,-1,49:" +
"2,-1:4,49:8,-1:2,49:10,41,49:8,-1,49:2,-1,49:4,-1,49:3,-1:24,92,-1:48,49:3," +
"-1,49:2,-1:4,49:7,43,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1:47,131,-1:43,34," +
"-1:41,57,97,47:3,146,47:2,128,-1:3,47:8,23,98,47:19,148,47:2,150,47:4,128,4" +
"7:3,57,65,-1:34,99,-1:34,57,59,152,47:5,61,-1:3,47:8,35,63,47:23,93,47:3,61" +
",47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8,36,63,47:22,154,94,47:3,61,47:3,57" +
",65,-1:7,57,59,47:6,61,-1:3,47:8,37,63,47:22,156,95,47:3,61,47:3,57,65,-1:7" +
",57,59,47:6,61,-1:3,47:8,38,63,47:22,158,96,47:3,61,47:3,57,65,-1:52,101,-1" +
":33,134,-1:20,103,-1:6,102,-1:22,106,-1:72,107,-1:43,108,-1:45,101,-1:16,57" +
",97,47:3,146,47:2,128,-1:3,47:8,51,98,47:19,148,47:2,150,102,47:3,128,47:3," +
"57,65,-1:29,109,-1:39,57,97,47:3,146,47:2,128,-1:3,47:8,51,98,47:19,148,47:" +
"2,150,47:4,128,47:3,57,65,-1:7,57,97,47:3,146,47:2,128,-1:3,47:8,51,98,47:1" +
"9,148,47:2,110,47:4,128,47:3,57,65,-1:22,111,-1:98,57,-1:9,57,97,47:3,146,4" +
"7:2,128,-1:3,47:8,51,98,47:19,148,47:2,150,-1,47:3,128,47:3,57,65,-1:30,108" +
",-1:38,57,59,47:6,61,-1:3,47:8,23,63,47:22,105,102,47:3,61,47:3,57,65,-1:13" +
",112,-1:73,115,-1:43,57,59,47:6,61,-1:3,47:8,42,63,47:27,61,47:3,57,65,-1:7" +
",57,59,47:6,61,-1:3,47:8,44,63,47:27,61,47:3,57,65,-1:39,117,-1:46,118,-1:6" +
"4,45,-1:93,108,-1:9,57,59,47:6,61,-1:3,47:8,46,63,47:27,61,47:3,57,65,-1:7," +
"57,59,47:6,61,-1:3,47:8,23,63,47:8,67,47:18,61,47:3,57,65,-1:9,58,49:2,-1,4" +
"9:2,-1:4,49:8,-1:2,49:11,60,49:7,-1,49:2,-1,49:4,-1,49:3,-1:31,83,-1:64,89," +
"-1:36,57,59,47:6,61,-1:3,47:8,35,63,47:23,124,47:3,61,47:3,57,65,-1:7,57,59" +
",47:6,61,-1:3,47:8,36,63,47:23,125,47:3,61,47:3,57,65,-1:7,57,59,47:6,61,-1" +
":3,47:8,37,63,47:23,126,47:3,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8,38," +
"63,47:23,127,47:3,61,47:3,57,65,-1:52,102,-1:16,57,59,47:6,61,-1:3,47:8,23," +
"63,47:8,71,47:18,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:2,62,49:5,-1:2,49:" +
"19,-1,49:2,-1,49:4,-1,49:3,-1:34,100,-1:36,57,59,77:3,47,77:2,61,-1:3,77:8," +
"23,63,77:19,47,77:2,47:2,77:3,61,77:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:5,64," +
"49:2,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1:34,167,-1:36,57,59,47:5,91,61,-1" +
":3,47:8,23,63,47:27,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:17,66" +
",49,-1,49:2,-1,49:4,-1,49:3,-1:34,116,-1:36,57,59,47:6,61,-1:3,47:8,23,63,4" +
"7:23,93,47:3,61,47:3,57,65,-1:9,49:3,-1,68,49,-1:4,49:8,-1:2,49:19,-1,49:2," +
"-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:23,94,47:3,61,47:3,57" +
",65,-1:9,49:3,-1,49,70,-1:4,49:8,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1:9,57" +
",59,47:6,61,-1:3,47:8,23,63,47:23,95,47:3,61,47:3,57,65,-1:9,49:3,-1,49:2,-" +
"1:4,49:8,-1:2,49:15,72,49:3,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3" +
",47:8,23,63,47:23,96,47:3,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49" +
":6,74,49:12,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:4,227,47:3,2" +
"3,63,47:23,102,47:3,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:14,76" +
",49:4,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:4,104:2,61,-1:3,47:3,104:5,23,6" +
"3,104:4,47,104:2,47:3,104,47:3,104:4,47:2,104:2,47,102,47:2,104,61,104:3,57" +
",65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:3,78,49:15,-1,49:2,-1,49:4,-1,49:3," +
"-1:11,49:3,-1,49:2,-1:4,49:8,-1:2,49:6,80,49:12,-1,49:2,-1,49:4,-1,49:3,-1:" +
"9,57,59,47:6,61,-1:3,47:8,23,63,47:23,124,47:3,61,47:3,57,65,-1:9,49:3,-1,4" +
"9:2,-1:4,49:8,-1:2,49:11,82,49:7,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61" +
",-1:3,47:8,23,63,47:23,125,47:3,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-" +
"1:2,49:16,84,49:2,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,6" +
"3,47:23,126,47:3,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:6,86,49,-1:2,49:19" +
",-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:23,127,47:3," +
"61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:6,88,49,-1:2,49:19,-1,49:2,-1,49:4," +
"-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:19,113,47:7,61,47:3,57,65,-1:" +
"7,57,59,47:6,61,-1:3,47:8,23,63,47,114,47:25,61,47:3,57,65,-1:7,57,59,47:6," +
"61,-1:3,47:3,104,47:4,23,63,47:27,61,47:3,57,65,-1:7,57,59,47:5,119,61,-1:3" +
",47:8,23,63,47:27,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8,23,63,47:15,13" +
"5,47:11,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:4,133,49:3,-1:2,49,136,49:1" +
"7,-1,49:2,-1,49:4,-1,49:3,-1:47,137,-1:48,166,-1:36,57,59,47:6,61,-1:3,47:8" +
",23,63,47:22,138,168,47:3,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:7,139,-1:" +
"2,49:10,194,49:8,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63" +
",47:22,140,170,47:3,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:3,141" +
",49:15,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:22,142" +
",172,47:3,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49,143,49:17,-1,49" +
":2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:22,144,174,47:3,61" +
",47:3,57,65,-1:9,49:2,145,-1,49:2,-1:4,49:8,-1:2,49:9,224,49:9,-1,49:2,-1,4" +
"9:4,-1,49:3,-1:9,57,59,47:5,160,61,-1:3,47:8,23,63,47:27,61,47:3,57,65,-1:9" +
",49:3,-1,49:2,-1:4,49:8,-1:2,49,147,49:17,-1,49:2,-1,49:4,-1,49:3,-1:9,57,5" +
"9,47:5,161,61,-1:3,47:8,23,63,47:27,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49" +
":8,-1:2,49,149,49:17,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,2" +
"3,63,47:27,61,47,162,47,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,151,49:18,-1" +
",49:2,-1,49:4,-1,49:3,-1:9,57,59,47:5,163,61,-1:3,47:8,23,63,47:27,61,47:3," +
"57,65,-1:9,49:2,153,-1,49:2,-1:4,49:8,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1" +
":11,49:3,-1,49:2,-1:4,49:8,-1:2,49:10,155,49:8,-1,49:2,-1,49:4,-1,49:3,-1:1" +
"1,49:3,-1,157,49,-1:4,49:8,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1:11,49:3,-1" +
",49:2,-1:4,49:8,-1:2,49:17,159,49,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,6" +
"1,-1:3,47:8,23,63,47,164,47:25,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:5,17" +
"3,49:2,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,6" +
"3,47:23,170,47:3,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:8,175,49" +
":10,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:23,172,47" +
":3,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:5,177,49:2,-1:2,49:19,-1,49:2,-1" +
",49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:23,174,47:3,61,47:3,57," +
"65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:16,179,49:2,-1,49:2,-1,49:4,-1,49:3," +
"-1:9,57,59,47:5,176,61,-1:3,47:8,23,63,47:27,61,47:3,57,65,-1:9,49:3,-1,49:" +
"2,-1:4,49:8,-1:2,181,49:18,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3," +
"47:5,178,47:2,23,63,47:27,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49" +
":13,183,49:5,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:" +
"3,180,47:23,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:3,185,49:4,-1:2,49:19,-" +
"1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:6,182,47:20,61" +
",47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:3,186,49:4,-1:2,49:19,-1,49:2,-1,49:4" +
",-1,49:3,-1:9,57,59,47:6,61,-1:3,47:5,187,47:2,23,63,47:27,61,47:3,57,65,-1" +
":9,49:3,-1,49:2,-1:4,49:8,-1:2,49,192,49:17,-1,49:2,-1,49:4,-1,49:3,-1:9,57" +
",59,47:6,61,-1:3,47:8,23,63,47:8,189,47:18,61,47:3,57,65,-1:9,49:3,-1,49:2," +
"-1:4,49:8,-1:2,49:6,196,49:12,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1" +
":3,47:8,23,63,47:8,191,47:18,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2" +
",49:11,198,49:7,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63," +
"47:8,193,47:18,61,47:3,57,65,-1:9,49:3,-1,200,49,-1:4,49:8,-1:2,49:19,-1,49" +
":2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:6,195,47:20,61,47:" +
"3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49,202,49:17,-1,49:2,-1,49:4,-1,49" +
":3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:6,197,47:20,61,47:3,57,65,-1:7,57," +
"59,47:6,61,-1:3,47:3,199,47:4,23,63,47:27,61,47:3,57,65,-1:7,57,59,47:6,61," +
"-1:3,47:5,201,47:2,23,63,47:27,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:5,2" +
"11,47:2,23,63,47:27,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:11,20" +
"8,49:7,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:5,213," +
"47:21,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:5,210,49:13,-1,49:2" +
",-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:27,61,214,47:2,57,65" +
",-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:13,212,49:5,-1,49:2,-1,49:4,-1,49:3,-1" +
":9,57,59,47:6,61,-1:3,47:8,23,63,47:18,215,47:8,61,47:3,57,65,-1:7,57,59,47" +
":6,61,-1:3,47:8,23,63,47:18,216,47:8,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,4" +
"9:3,219,49:4,-1:2,49:19,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:" +
"8,23,63,47:4,218,47:22,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,49:10" +
",221,49:8,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:3,220,47:4,23," +
"63,47:27,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:6,222,47,23,63,47:27,61,4" +
"7:3,57,65,-1:7,57,59,47:6,61,-1:3,47:6,223,47,23,63,47:27,61,47:3,57,65,-1:" +
"9,49:3,-1,49:2,-1:4,49:8,-1:2,49:6,226,49:12,-1,49:2,-1,49:4,-1,49:3,-1:9,5" +
"7,59,47:6,61,-1:3,47:5,225,47:2,23,63,47:27,61,47:3,57,65,-1:7,57,59,47:6,6" +
"1,-1:3,47:8,23,63,47,228,47:25,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8,2" +
"3,63,47,229,47:25,61,47:3,57,65,-1:9,49:3,-1,49:2,-1:4,49:8,-1:2,230,49:18," +
"-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,61,-1:3,47:8,23,63,47:3,231,47:23,6" +
"1,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8,23,63,47:17,232,47:9,61,47:3,57,6" +
"5,-1:7,57,59,47:6,61,-1:3,47:8,23,63,47:3,235,47:23,61,47:3,57,65,-1:9,49:3" +
",-1,49:2,-1:4,49:8,-1:2,234,49:18,-1,49:2,-1,49:4,-1,49:3,-1:9,57,59,47:6,6" +
"1,-1:3,47:8,23,63,47:8,236,47:18,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8" +
",23,63,47:19,239,47:7,61,47:3,57,65,-1:7,57,59,47:5,240,61,-1:3,47:8,23,63," +
"47:27,61,47:3,57,65,-1:7,57,59,47:5,241,61,-1:3,47:8,23,63,47:27,61,47:3,57" +
",65,-1:7,57,59,47:6,61,-1:3,47:8,23,63,47:6,242,47:20,61,47:3,57,65,-1:7,57" +
",59,47:6,61,-1:3,47:5,243,47:2,23,63,47:27,61,47:3,57,65,-1:7,57,59,47:6,61" +
",-1:3,47:8,23,63,47:18,244,47:8,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8," +
"23,63,47:22,245,47:4,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8,23,63,47:17" +
",246,47:9,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:3,247,47:4,23,63,47:27,6" +
"1,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8,23,63,47:6,248,47:20,61,47:3,57,6" +
"5,-1:7,57,59,47:6,61,-1:3,47:5,249,47:2,23,63,47:27,61,47:3,57,65,-1:7,57,5" +
"9,47:6,61,-1:3,47:8,23,63,47:22,250,47:4,61,47:3,57,65,-1:7,57,59,47:6,61,-" +
"1:3,47:8,23,63,47:6,251,47:20,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8,23" +
",63,47:21,252,47:5,61,47:3,57,65,-1:7,57,59,47:6,61,-1:3,47:8,23,63,47:6,25" +
"3,47:20,61,47:3,57,65,-1:2");

	public java_cup.runtime.Symbol next_token ()
		throws java.io.IOException {
		int yy_lookahead;
		int yy_anchor = YY_NO_ANCHOR;
		int yy_state = yy_state_dtrans[yy_lexical_state];
		int yy_next_state = YY_NO_STATE;
		int yy_last_accept_state = YY_NO_STATE;
		boolean yy_initial = true;
		int yy_this_accept;

		yy_mark_start();
		yy_this_accept = yy_acpt[yy_state];
		if (YY_NOT_ACCEPT != yy_this_accept) {
			yy_last_accept_state = yy_state;
			yy_mark_end();
		}
		while (true) {
			if (yy_initial && yy_at_bol) yy_lookahead = YY_BOL;
			else yy_lookahead = yy_advance();
			yy_next_state = YY_F;
			yy_next_state = yy_nxt[yy_rmap[yy_state]][yy_cmap[yy_lookahead]];
			if (YY_EOF == yy_lookahead && true == yy_initial) {
				return null;
			}
			if (YY_F != yy_next_state) {
				yy_state = yy_next_state;
				yy_initial = false;
				yy_this_accept = yy_acpt[yy_state];
				if (YY_NOT_ACCEPT != yy_this_accept) {
					yy_last_accept_state = yy_state;
					yy_mark_end();
				}
			}
			else {
				if (YY_NO_STATE == yy_last_accept_state) {
					throw (new Error("Lexical Error: Unmatched Input."));
				}
				else {
					yy_anchor = yy_acpt[yy_last_accept_state];
					if (0 != (YY_END & yy_anchor)) {
						yy_move_end();
					}
					yy_to_mark();
					switch (yy_last_accept_state) {
					case 1:
						
					case -2:
						break;
					case 2:
						{ /* skip each whitespace */ }
					case -3:
						break;
					case 3:
						{ return new Symbol(sym.LPAREN); }
					case -4:
						break;
					case 4:
						{ return new Symbol(sym.RPAREN); }
					case -5:
						break;
					case 5:
						{ return new Symbol(sym.G,   String.valueOf(sym.G)); }
					case -6:
						break;
					case 6:
						{ System.out.println("Unmatched input: " +yytext()); }
					case -7:
						break;
					case 7:
						{ return new Symbol(sym.L,   String.valueOf(sym.L)); }
					case -8:
						break;
					case 8:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -9:
						break;
					case 9:
						{ return new Symbol(sym.MINUS, String.valueOf(sym.MINUS)); }
					case -10:
						break;
					case 10:
						{ return new Symbol(sym.PLUS,  String.valueOf(sym.PLUS)); }
					case -11:
						break;
					case 11:
						{ return new Symbol(sym.STAR,  String.valueOf(sym.STAR)); }
					case -12:
						break;
					case 12:
						{ return new Symbol(sym.SLASH, String.valueOf(sym.SLASH)); }
					case -13:
						break;
					case 13:
						{ return new Symbol(sym.POSINT, yytext()); }
					case -14:
						break;
					case 14:
						{ return new Symbol(sym.GEQ, String.valueOf(sym.GEQ)); }
					case -15:
						break;
					case 15:
						{ return new Symbol(sym.LEQ, String.valueOf(sym.LEQ)); }
					case -16:
						break;
					case 16:
						{ /*Backpred.saySubType*/ return new Symbol(sym.LESSCOLON); }
					case -17:
						break;
					case 17:
						{ return new Symbol(sym.EQ,  String.valueOf(sym.EQ)); }
					case -18:
						break;
					case 18:
						{ return new Symbol(sym.IS, yytext()); }
					case -19:
						break;
					case 19:
						{ return new Symbol(sym.NEGINT, yytext()); }
					case -20:
						break;
					case 20:
						{ /*UniqName.type*/ return new Symbol(sym.TYPEIDENT, ParseFct.stripBarFromType(yytext())); }
					case -21:
						break;
					case 21:
						{ return new Symbol(sym.NEQ, String.valueOf(sym.NEQ)); }
					case -22:
						break;
					case 22:
						{ return new Symbol(sym.NOT); }
					case -23:
						break;
					case 23:
						{ return new Symbol(sym.IDENTESC, yytext().substring(1, yytext().length()-1)); }
					case -24:
						break;
					case 24:
						{ return new Symbol(sym.TRUE, yytext()); }
					case -25:
						break;
					case 25:
						{ return new Symbol(sym.NULL); }
					case -26:
						break;
					case 26:
						{ return new Symbol(sym.NEGINT, "-" +yytext().substring(3, yytext().length())); }
					case -27:
						break;
					case 27:
						{ /*GC.thisvar*/ return new Symbol(sym.THIS); }
					case -28:
						break;
					case 28:
						{ return new Symbol(sym.POSINT, yytext().substring(3, yytext().length())); }
					case -29:
						break;
					case 29:
						{ /*GC.elemsvar*/ 	return new Symbol(sym.ELEMS, yytext()); }
					case -30:
						break;
					case 30:
						{ return new Symbol(sym.FLOATNAN, yytext()); }
					case -31:
						break;
					case 31:
						{ return new Symbol(sym.SELECT, yytext()); }
					case -32:
						break;
					case 32:
						{ return new Symbol(sym.TYPEOF, yytext()); }
					case -33:
						break;
					case 33:
						{ return new Symbol(sym.ARRAY, yytext()); }
					case -34:
						break;
					case 34:
						{ return new Symbol(sym.ATTRUE); }
					case -35:
						break;
					case 35:
						{ return new Symbol(sym.POSFLOAT, yytext().substring(3, yytext().length()-1)); }
					case -36:
						break;
					case 36:
						{ /*GC.blockL*/ return new Symbol(sym.LABEL, yytext().substring(1, yytext().length()-1)); }
					case -37:
						break;
					case 37:
						{ /*Translate.continueLabel*/ return new Symbol(sym.LABEL, yytext().substring(1, yytext().length()-1)); }
					case -38:
						break;
					case 38:
						{ return new Symbol(sym.STRINGLIT, yytext().substring(1, yytext().length()-1)); }
					case -39:
						break;
					case 39:
						{ return new Symbol(sym.BOOLNOT); }
					case -40:
						break;
					case 40:
						{ return new Symbol(sym.ELEMTYPE, yytext()); }
					case -41:
						break;
					case 41:
						{ return new Symbol(sym.FLOATINF, yytext()); }
					case -42:
						break;
					case 42:
						{ return new Symbol(sym.TYPEOF, yytext()); }
					case -43:
						break;
					case 43:
						{ return new Symbol(sym.ARRAYLENGTH, yytext()); }
					case -44:
						break;
					case 44:
						{ return new Symbol(sym.BOOLFALSE); }
					case -45:
						break;
					case 45:
						{ return new Symbol(sym.FLOATNEGINF, yytext()); }
					case -46:
						break;
					case 46:
						{ return new Symbol(sym.TYPEOF, yytext()); }
					case -47:
						break;
					case 48:
						{ System.out.println("Unmatched input: " +yytext()); }
					case -48:
						break;
					case 49:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -49:
						break;
					case 50:
						{ /*UniqName.type*/ return new Symbol(sym.TYPEIDENT, ParseFct.stripBarFromType(yytext())); }
					case -50:
						break;
					case 51:
						{ /*GC.elemsvar*/ 	return new Symbol(sym.ELEMS, yytext()); }
					case -51:
						break;
					case 53:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -52:
						break;
					case 54:
						{ /*UniqName.type*/ return new Symbol(sym.TYPEIDENT, ParseFct.stripBarFromType(yytext())); }
					case -53:
						break;
					case 56:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -54:
						break;
					case 58:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -55:
						break;
					case 60:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -56:
						break;
					case 62:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -57:
						break;
					case 64:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -58:
						break;
					case 66:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -59:
						break;
					case 68:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -60:
						break;
					case 70:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -61:
						break;
					case 72:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -62:
						break;
					case 74:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -63:
						break;
					case 76:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -64:
						break;
					case 78:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -65:
						break;
					case 80:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -66:
						break;
					case 82:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -67:
						break;
					case 84:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -68:
						break;
					case 86:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -69:
						break;
					case 88:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -70:
						break;
					case 121:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -71:
						break;
					case 130:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -72:
						break;
					case 133:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -73:
						break;
					case 136:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -74:
						break;
					case 139:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -75:
						break;
					case 141:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -76:
						break;
					case 143:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -77:
						break;
					case 145:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -78:
						break;
					case 147:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -79:
						break;
					case 149:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -80:
						break;
					case 151:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -81:
						break;
					case 153:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -82:
						break;
					case 155:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -83:
						break;
					case 157:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -84:
						break;
					case 159:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -85:
						break;
					case 165:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -86:
						break;
					case 169:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -87:
						break;
					case 171:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -88:
						break;
					case 173:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -89:
						break;
					case 175:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -90:
						break;
					case 177:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -91:
						break;
					case 179:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -92:
						break;
					case 181:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -93:
						break;
					case 183:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -94:
						break;
					case 184:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -95:
						break;
					case 185:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -96:
						break;
					case 186:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -97:
						break;
					case 188:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -98:
						break;
					case 190:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -99:
						break;
					case 192:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -100:
						break;
					case 194:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -101:
						break;
					case 196:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -102:
						break;
					case 198:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -103:
						break;
					case 200:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -104:
						break;
					case 202:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -105:
						break;
					case 204:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -106:
						break;
					case 206:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -107:
						break;
					case 208:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -108:
						break;
					case 210:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -109:
						break;
					case 212:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -110:
						break;
					case 217:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -111:
						break;
					case 219:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -112:
						break;
					case 221:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -113:
						break;
					case 224:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -114:
						break;
					case 226:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -115:
						break;
					case 230:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -116:
						break;
					case 234:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -117:
						break;
					case 238:
						{ return new Symbol(sym.IDENT, yytext()); }
					case -118:
						break;
					default:
						yy_error(YY_E_INTERNAL,false);
					case -1:
					}
					yy_initial = true;
					yy_state = yy_state_dtrans[yy_lexical_state];
					yy_next_state = YY_NO_STATE;
					yy_last_accept_state = YY_NO_STATE;
					yy_mark_start();
					yy_this_accept = yy_acpt[yy_state];
					if (YY_NOT_ACCEPT != yy_this_accept) {
						yy_last_accept_state = yy_state;
						yy_mark_end();
					}
				}
			}
		}
	}
}
